package com.lcz.study_designmode.行为模式.观察者模式;

import java.util.ArrayList;
import java.util.List;

/**
 * <pre>
 * <img width="128" height="110" src="https://tse3-mm.cn.bing.net/th/id/OIP-C.en-w_oH-yn2UsSRfWnOsGAHaGY?w=198&h=180&c=7&r=0&o=5&dpr=1.25&pid=1.7" alt="马刺">
 * 作者:     <a href="https://github.com/liuchuanzheng">刘传政</a>
 * 创建时间:  11:25 2022/6/20 0020
 * QQ:      1052374416
 * 电话:     18501231486
 * 描述:
 * </pre>
 */
public class Subject implements ISubject {
    private List<IObserver> list = new ArrayList<>();

    @Override
    public void attach(IObserver observer) {
        list.add(observer);
    }

    @Override
    public void detach(IObserver observer) {
        list.remove(observer);
    }

    @Override
    public void notify(String msg) {
        for (IObserver observer : list) {
            observer.change(msg);
        }
    }
}
